﻿#ifndef __MCCOMMAND_H_
#define __MCCOMMAND_H_

#include <MCMouseReceiver.h>
#include <MCCommandManager.h>

class MCCommand : public MCMouseReceiver
{
public:

    MCCommand(MCCommandManager *manager);
    virtual ~MCCommand();

    virtual void onMouseDown(IMouseArgs &args) override;
    virtual void onMouseUp(IMouseArgs &args) override;
    virtual void onMouseMove(IMouseArgs &args) override;
    void onKeyDown(IKeyArgs &args);

    ICanvas *presenter_();
    void finalize();          
    virtual void terminate();  

protected:

    MCCommandManager *manager;
    ICanvas *presenter;

};

#endif // __MCCOMMAND_H_
